package com.soft.javase.ch10.test.supplier;

import java.util.function.Supplier;

/**
 * @author wangzhisen
 * @Desc TODO
 * @date 2025/5/7
 *
 * 求数组元素最大值，使用Supplier接口作为方法参数类型，通过Lambda表达式求出int数组中的最大值。
 */
public class ArrayMaxValue {
    public static void main(String[] args) {
        int[] numbers = {3, 10, 6, 8, 15, 2, 7};

        // 使用Supplier和Lambda表达式求最大值
        int max = getMaxValue(() -> {
            int maxValue = Integer.MIN_VALUE;
            for (int num : numbers) {
                if (num > maxValue) {
                    maxValue = num;
                }
            }
            return maxValue;
        });

        System.out.println("数组中的最大值是: " + max);
    }

    // 方法接受Supplier作为参数
    public static int getMaxValue(Supplier<Integer> supplier) {
        return supplier.get();
    }
}